The invention is related to systems and methods for enhancing customer engagement. In part, this is accomplished by sending messages to users. The messages could be mobile or browser-based push notifications, text (SMS/MMS) messages, email messages, in-application messages, or an audio recording that is sent to users via a telephony system. The present invention is focused on reliably delivering in-application messages to users.
Companies often hire a customer engagement service to help manage the delivery of messages to their customers. The customer engagement service can cause messages to be delivered to customers at opportune times when the messaging may have the most influence over customer behavior. Similarly, the customer engagement service may know when certain types of messages will have the greatest value to customers, and then seek to deliver the messages at those times.
Companies often provide a software application to their customers that the customers install on a computing device such as a laptop computer, a desktop computer, a tablet or a smartphone. The software applications can provide a wide array of functionality or information to customers depending on what types of goods and services the company provides to its customers. For example, an online retailer may provide its customers with a software application that makes it easy for customers to make online purchases. A media company may provide its customers with a software application that makes it easy for the customers to access and watch media content.
Regardless of the type of software application that a company provides to its customers, it is often possible to deliver messages to the customers via the software application while they are using the company's software application. Such messages are referred to as in-application or “in-app” messages.
A customer engagement service hired by a company can control the flow and timing of the delivery of in-app messages. Indeed, the customer engagement service may deliberately coordinate the in-app messages with the delivery of messages sent to the customers via alternate delivery channels to help improve the customers' overall experience.
An in-application message can be sent to a user's computing device in multiple different ways so that a software application on the user's computing device can then present the in-application to the user. In some instances, the entire content of the in-application message is sent to the software application. In other instances, a messaging module of the software application may generate and present an in-application message to the user based on messaging instructions sent to the software application. Either the in-application message itself, or instructions to generate and present an in-application message, can be sent to the user's computing device via a data network, such as the Internet, or via a push notification.
Regardless of whether the in-application message itself is sent to the user's computing device or whether instructions to generate and present an in-application message are sent to the user's computing device, in-application message presentation failures can occur. One of the common reasons for failures in the presentation of in-application messages relates to the size of image or media files that are used to create and present an in-application message. If one or more image files that are used to generate an in-application message is quite large, it can lead to a presentation failure. In some instances, this occurs because the user's computing device has a poor or slow connection to a data network or a cellular network which is being used to send the image file to the user's computing device. In other instances, a presentation failure can occur if there is insufficient memory space on the user's computing device to store large image files.